<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      lightdm-1.30.0
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-9.1">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 9.1
      </h4>
      <h3>
        Chapter&nbsp;26.&nbsp;Display Managers
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="dm-introduction.html" title=
          "Introduction">Prev</a>
          <p>
            Introduction
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="lxdm.html" title="lxdm-0.5.3">Next</a>
          <p>
            lxdm-0.5.3
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="dm.html" title=
          "Chapter&nbsp;26.&nbsp;Display Managers">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="lightdm" name="lightdm"></a>lightdm-1.30.0
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to Lightdm
        </h2>
        <p>
          The <span class="application">lightdm</span> package contains a
          lightweight display manager based upon GTK.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Lightdm Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "https://github.com/CanonicalLtd/lightdm/releases/download/1.30.0/lightdm-1.30.0.tar.xz">
                https://github.com/CanonicalLtd/lightdm/releases/download/1.30.0/lightdm-1.30.0.tar.xz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: c566ea595f2b81e68684be9f8dbcbb42
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 500 KB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 21 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.2 SBU
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Additional download
        </h3>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            The greeter is a program to present a graphical login screen.
            There are several alternative greeters, but the gtk+ package is
            the reference implementation. For a list of other greeters, see
            <a class="ulink" href=
            "https://en.wikipedia.org/wiki/LightDM">https://en.wikipedia.org/wiki/LightDM</a>.
          </p>
        </div>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "https://launchpad.net/lightdm-gtk-greeter/2.0/2.0.6/+download/lightdm-gtk-greeter-2.0.6.tar.gz">
                https://launchpad.net/lightdm-gtk-greeter/2.0/2.0.6/+download/lightdm-gtk-greeter-2.0.6.tar.gz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 36dc961f14cc3b0baef3ddb1c494eb16
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 564 KB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 5.0 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: less than 0.1 SBU
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Lightdm Dependencies
        </h3>
        <h4>
          Required
        </h4>
        <p class="required">
          <a class="xref" href="../xfce/exo.html" title=
          "Exo-0.12.11">Exo-0.12.11</a> (for the greeter), <a class="xref"
          href="../general/libgcrypt.html" title=
          "libgcrypt-1.8.5">libgcrypt-1.8.5</a>, <a class="xref" href=
          "../pst/itstool.html" title="itstool-2.0.6">itstool-2.0.6</a>,
          <a class="xref" href="../postlfs/linux-pam.html" title=
          "Linux-PAM-1.3.1">Linux-PAM-1.3.1</a>, and <a class="xref" href=
          "../general/pcre.html" title="PCRE-8.44">PCRE-8.44</a>
        </p>
        <h4>
          Recommended
        </h4>
        <p class="recommended">
          <a class="xref" href="../general/gobject-introspection.html" title=
          "gobject-introspection-1.62.0">gobject-introspection-1.62.0</a>,
          <a class="xref" href="libxklavier.html" title=
          "libxklavier-5.4">libxklavier-5.4</a>, and <a class="xref" href=
          "../general/vala.html" title="Vala-0.46.6">Vala-0.46.6</a>
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="../general/accountsservice.html" title=
          "AccountsService-0.6.55">AccountsService-0.6.55</a> (run time),
          <a class="xref" href="at-spi2-core.html" title=
          "at-spi2-core-2.34.0">at-spi2-core-2.34.0</a>, <a class="xref"
          href="../general/gtk-doc.html" title=
          "GTK-Doc-1.32">GTK-Doc-1.32</a>, <a class="xref" href="qt5.html"
          title="Qt-5.14.1">Qt-5.14.1</a>, <a class="ulink" href=
          "https://launchpad.net/ido">libido</a>, and <a class="ulink" href=
          "https://launchpad.net/libindicator">libindicator</a>
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/lightdm">http://wiki.linuxfromscratch.org/blfs/wiki/lightdm</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Lightdm
        </h2>
        <p>
          First, create a dedicated user and group to take control of the
          <span class="command"><strong>lightdm</strong></span> daemon after
          it is started. Issue the following commands as the <code class=
          "systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">groupadd -g 65 lightdm       &amp;&amp;
useradd  -c "Lightdm Daemon" \
         -d /var/lib/lightdm \
         -u 65 -g lightdm    \
         -s /bin/false lightdm</kbd>
</pre>
        <p>
          Then change the <span class="application">Linux-PAM</span>
          configuration files so that <span class=
          "application">elogind</span> is used:
        </p>
        <pre class="userinput">
<kbd class="command">sed -i s/systemd/elogind/ data/pam/*</kbd>
</pre>
        <p>
          Install <span class="application">lightdm</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">./configure                          \
       --prefix=/usr                 \
       --libexecdir=/usr/lib/lightdm \
       --localstatedir=/var          \
       --sbindir=/usr/bin            \
       --sysconfdir=/etc             \
       --disable-static              \
       --disable-tests               \
       --with-greeter-user=lightdm   \
       --with-greeter-session=lightdm-gtk-greeter \
       --docdir=/usr/share/doc/lightdm-1.30.0 &amp;&amp;
make</kbd>
</pre>
        <p>
          This package does not come with a test suite.
        </p>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class=
"command">make install                                                  &amp;&amp;
cp tests/src/lightdm-session /usr/bin                         &amp;&amp;
sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session        &amp;&amp;
rm -rf /etc/init                                              &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm      &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm    &amp;&amp;
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm</kbd>
</pre>
        <p>
          Now build the greeter:
        </p>
        <pre class="userinput">
<kbd class="command">tar -xf ../lightdm-gtk-greeter-2.0.6.tar.gz &amp;&amp;
cd lightdm-gtk-greeter-2.0.6 &amp;&amp;

./configure                      \
   --prefix=/usr                 \
   --libexecdir=/usr/lib/lightdm \
   --sbindir=/usr/bin            \
   --sysconfdir=/etc             \
   --with-libxklavier            \
   --enable-kill-on-sigterm      \
   --disable-libido              \
   --disable-libindicator        \
   --disable-static              \
   --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.6 &amp;&amp;

make</kbd>
</pre>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install</kbd>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <span class="command"><strong>sed ...
          /usr/bin/lightdm-session</strong></span>: This command ensures that
          the initial login via the greeter sources /etc/profile and
          ~/.bash_profile. Without this, commands that depend on different
          environment variables may not work as expected.
        </p>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring lightdm
        </h2>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="lightdm-config" name="lightdm-config"></a>
          </h3>
          <h4 class="title">
            <a id="lightdm-config" name="lightdm-config"></a>Config Files
          </h4>
          <p>
            /etc/lightdm/{lightdm,users,keys}.conf
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="lightdm-bootscript" name="lightdm-bootscript"></a>
          </h3>
          <h4 class="title">
            <a id="lightdm-bootscript" name=
            "lightdm-bootscript"></a><span class="phrase">Boot Script</span>
          </h4>
          <p>
            Install the <code class=
            "filename">/etc/rc.d/init.d/lightdm</code> init script from the
            <a class="xref" href="../introduction/bootscripts.html" title=
            "BLFS Boot Scripts">blfs-bootscripts-20191204</a>
          </p>
          <pre class="root">
<kbd class="command">make install-lightdm</kbd>
</pre>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="lightdm-init" name="lightdm-init"></a>
          </h3>
          <h4 class="title">
            <a id="lightdm-init" name="lightdm-init"></a>Starting lightdm
          </h4>
          <p>
            If the lightdm bootscript has been installed, start lightdm by
            running, as the <code class="systemitem">root</code> user:
          </p>
          <pre class="root">
<kbd class="command">/etc/rc.d/init.d/lightdm start</kbd>
</pre>
          <p>
            By convention, X should be executed at runlevel 5, consequently,
            the same is true for <span class="application">lightdm</span>.
            However, LFS default runlevel is 3. Changing to runlevel 5, from
            a console terminal, as <code class="systemitem">root</code> user,
            starts the <span class="command"><strong>lightdm</strong></span>
            bootscript, bringing up the greeter screen:
          </p>
          <pre class="root">
<kbd class="command">init 5</kbd>
</pre>
          <p>
            In order to permanently set the default to 5, starting the
            <span class="command"><strong>lightdm</strong></span> greeter
            screen automatically, modify <code class=
            "filename">/etc/inittab</code>. As the <code class=
            "systemitem">root</code> user:
          </p>
          <pre class="root">
<kbd class="command">cp -v /etc/inittab{,-orig} &amp;&amp;
sed -i '/initdefault/ s/3/5/' /etc/inittab</kbd>
</pre>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="lightdm-sessions" name="lightdm-sessions"></a>
          </h3>
          <h4 class="title">
            <a id="lightdm-sessions" name="lightdm-sessions"></a>Available
            Sessions
          </h4>
          <p>
            The greeter offers a list of available sessions, depending on the
            Window Managers and Desktop Environments installed. The list
            includes sessions which have a corresponding <code class=
            "filename">.desktop</code> file installed under <code class=
            "filename">/usr/share/xsessions</code>. Most of the Window
            Managers and Desktop Environments automatically provide those
            files, but if necessary, you may include a custom one.
          </p>
        </div>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">dm-tool, lightdm, and
              lightdm-gtk-greeter</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">liblightdm-gobject-1.so</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">/etc/lightdm, /etc/apparmor.d,
              /usr/lib/lightdm, /usr/include/lightdm-gobject-1,
              /usr/share/help/C/lightdm
              /usr/share/gtk-doc/html/lightdm-gobject-1,
              /usr/share/doc/lightdm-gtk-greeter-2.0.6, /var/lib/lightdm,
              /var/lib/lightdm-data, /var/cache/lightdm, and
              /var/log/lightdm</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="lightdm-prog" name="lightdm-prog"></a><span class=
                    "term"><span class=
                    "command"><strong>lightdm</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a display and login manager.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="lightdm-gtk-greeter" name=
                    "lightdm-gtk-greeter"></a><span class="term"><span class=
                    "command"><strong>lightdm-gtk-greeter</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is an auxiliary process that displays the greeter, a
                    graphical user interface that performs user
                    authentication and initiates the selected window manager
                    or display environment.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-02-21 01:01:08 -0800
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="dm-introduction.html" title=
          "Introduction">Prev</a>
          <p>
            Introduction
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="lxdm.html" title="lxdm-0.5.3">Next</a>
          <p>
            lxdm-0.5.3
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="dm.html" title=
          "Chapter&nbsp;26.&nbsp;Display Managers">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
